home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Workspace / Locus / Source / Dragging.h < prev    next >
Text File  |  1995-06-12  |  2KB  |  59 lines

  1.  
  2. /*
  3.     Copyright 1993  Jeremy Slade.
  4.  
  5.     You are free to use all or any parts of the Locus project
  6.     however you wish, just give credit where credit is due.
  7.     The author (Jeremy Slade) shall not be held responsible
  8.     for any damages that result out of use or misuse of any
  9.     part of this project.
  10.  
  11. */
  12.  
  13. /*
  14.     Project: Locus
  15.  
  16.     File: Dragging.h
  17.  
  18.     Description:
  19.     
  20.     This file defines some stuff used to support icon dragging.  At this point, in simply defines a protocol called DragDelegate, which is adopted by any classes the handle the details of performing a drag operation, beyond the NXDragging... protocol stuff.  The only class that currently does this is the FolderController.
  21.     When an icon of the proper type is dragged onto a window/view that is registered as a dragging destination, the destination calls the setDragDest: method of the protocol, which lets the FolderController know where the icon was dragged to.  All of the dragging session is then handled by the FolderController, via messages forwarded from the DragDest.
  22.     
  23.     Original Author: Jeremy Slade
  24.  
  25.     Revision History:
  26.         Created
  27.             V.101    JGS    Mon Feb  8 23:38:54 GMT-0700 1993
  28.  
  29. */
  30.  
  31. #ifndef Dragging_h
  32. #define Dragging_h
  33.  
  34. #define Dragging_VERSION     (101)
  35.  
  36.  
  37. #import <appkit/drag.h>
  38.  
  39.  
  40. @protocol DragDelegate
  41.     // NXDraggingDestination -- an informal protocol
  42.  
  43. // Sutff unique to DragDelegate Protocol
  44. - setDragDest:aView;
  45. - dragDest;
  46.  
  47. // The NXDraggingDestination Protocol
  48. - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
  49. - (NXDragOperation)draggingUpdated:(id <NXDraggingInfo>)sender;
  50. - draggingExited:(id <NXDraggingInfo>)sender;
  51. - (BOOL)prepareForDragOperation:(id <NXDraggingInfo>)sender;
  52. - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;
  53. - concludeDragOperation:(id <NXDraggingInfo>)sender;
  54.  
  55. @end
  56.  
  57.  
  58. #endif // Dragging_h
  59.